const express = require('express');
const bodyParser = require('body-parser');

// 处理cookie
const cookieParser = require('cookie-parser');


// 引入路由器模块
const tutu = require('./router/tutu');
const shuoshuo = require('./router/shuoshuo');
const app = express();

// 内置中间
app.use('/static',express.static('public'));
// 第三方中间件
app.use(bodyParser.urlencoded({extended:true}));
// 使用的是第三方中间件cookieParser，将cookie上的数据进行解析，解析挂载到req.cookies
app.use(cookieParser());
// 应用路由器中间
app.use(tutu);
app.use(shuoshuo);

/* 
cookie本质是浏览器存储的一个文本，随着http请求发送到服务器

req.cookie

*/
// 路由
app.get('/cookietest',(req,res)=>{
    // cookie在服务器产生
    // 需求是海广旭在cookie中存储的最大时间1小时 ，超过一小时后自动删除 
    res.cookie('name','haiguangxu',{maxAge:1000*60*60})

    // 1秒 = 1000毫秒  1分= 60秒  1小时 = 60分钟

    // 客户端发送请求必须返回响应
    res.send('cookietest')
})
// 可以作为请求头自动传送过来
app.get('/cookietest2',(req,res)=>{
    console.log(req.cookies);
    res.send('req.cookies');
})
// cookie可以随着请求报文和响应报文在浏览器和服务器之间进行传递
// 浏览器中可以截取cookie,并且修改cookie
// 删除cookie
app.get('/cleancookie',(req,res)=>{
    res.clearCookie('name');
    res.send('删除cookie');
})

app.listen(8080,err=>{
    if(!err) console.log('serve');
    else console.log(err);
})

/* 
cookie的作用：
保存数据，但是每一个cookie只能保存大约是4kb,数量大约是20个左右
http无状态，cookie可以标识不同的用户
*/

/* 
7天免登陆
登录注册
先注册 注册完成 有用户名 密码   使用用户名和密码进行登录

首次登录后 你的用户名和密码等信息存到了浏览器，再次登录时，就可以自动登录



*/

